"""Classes for node algorithm representation."""

__all__ = ['IAlgorithm']

#_______________________________________________________________________________

from abc import ABCMeta, abstractmethod
import logging
import sys

from _debug import logged

#_______________________________________________________________________________

_logger = logging.getLogger('nxchaos.network')

#_______________________________________________________________________________

class IAlgorithm(object):

    __metaclass__ = ABCMeta

    def __init__(self):
        pass

    @abstractmethod
    def run(self):
        pass

    # stubs below are not necessary but help in writing documentation

    def send(self):
        pass

    def save_data(self):
        pass

    def get_data(self):
        pass
